import { ref, watch } from 'vue';
function useThrottle(refValue, limit = 1000) {
    let throttledValue = ref(refValue.value);
    //上次的执行时间
    let lastExecuteTime = Date.now();//1000
    //如果观察到refValue发生了变化，会执行回调，并传递最新的值
    watch(refValue, (newVal) => {
        //2000-1000=1000>=1000
        //如果当前时间减去上次的执行时间，已经大于等于limit时间的话
        if (Date.now() - lastExecuteTime >= limit) {
            //就可以把refValue的最新值赋值给throttledValue
            throttledValue.value = newVal;
            //把最新的时间同步到 lastExecuteTime
            lastExecuteTime = Date.now();
        }
    });
    return throttledValue;
}
export default useThrottle;